/**
 * 这个文件主要负责消息显示区域
 */

show = document.getElementById('msg-show');

/**
 * 将消息插入到显示区中
 * 并返回消息ID，撤回和保存消息用
 */
function addChatShowMsg(username,message,position) {
    show = document.getElementById('msg-show');
    // 判断是否已经在底部
    isBottom = ($('#msg-show')[0].scrollHeight-1<=($('#msg-show').scrollTop()+$('#msg-show').height()) && ($('#msg-show').scrollTop()+$('#msg-show').height())<=$('#msg-show')[0].scrollHeight+5);
    // 生成消息ID
    
    show.innerHTML += '\
    <div class="'+position+'msg">\
        <div>\
            <img src="/static/facer.png">\
        </div>\
        <div>'+username+'</div>\
        <div>\
            <xmp style="margin-top: 0px;margin-bottom: 0px;left:-5px;position:relative;">'+message+'</xmp>\
        </div>\
    </div>';
    // 本来就在底部就自动到底（显示新消息）
    // 不然不动，说不定用户正在看上面的消息
    // @FLAG:日后加个量，基本（几乎）在底部也算底部，要向下划
    if(isBottom) show.scrollTop = show.scrollHeight;
}

function addChatNotice(msg) {
    show = document.getElementById('msg-show');
    isBottom = ($('#msg-show')[0].scrollHeight-1<=($('#msg-show').scrollTop()+$('#msg-show').height()) && ($('#msg-show').scrollTop()+$('#msg-show').height())<=$('#msg-show')[0].scrollHeight+1);
    
    show.innerHTML += '\
    <div class="notice"><span class="notice-text">'+msg+'</span></div>\
    ';

    if(isBottom) show.scrollTop = show.scrollHeight;
}

function addFileShowMsg(filename,position,fileid,username) {
    // 正在上传的东西加入聊天区
    con = '<div class="mdui-progress">\
                <div class="mdui-progress-determinate" style="width: 0%;" id="upload-progress"></div>\
            </div>';
    // 似乎没什么用，但是也不删了
    c='';idname1 = '';idname2 = '';
    if(fileid != '') {
        con = '<span class="file-download" onclick="download(\''+fileid+'\',\''+filename+'\');">下载</span>';
        c='上传了文件：';
    } else {
        idname1 = 'file-upload-name';idname2 = 'file-upload-div';
    }
    show.innerHTML += '\
    <div class="'+position+'msg">\
        <div>\
            <img src="/static/facer.png">\
        </div>\
        <div>'+username+'</div>\
        <div style="">\
            <b><xmp class="usetodel" style="margin-top: 0px;margin-bottom: 0px;" id="'+idname1+'">'+c+filename+'</xmp></b>\
            <div class="usetodel" id="'+idname2+'">'+con+'</div>\
        </div>\
    </div>';
}

function addImgShowMsg(username,message,position) {
    show.innerHTML += '\
    <div class="'+position+'msg">\
        <div>\
            <img src="/static/facer.png">\
        </div>\
        <div>'+username+'</div>\
        <div style="margin-top: 0px;margin-bottom: 0px;left:-5px;position:relative;">\
            <img src="/static/img/upload/'+message+'" onload="if(this.width >= 320){this.width = 320}" align="middle">\
        </div>\
    </div>';
}

/************************************************************************************************************************************************************************************************************************/

var sendBtn = document.getElementById('send-btn');
// ctrl+enter发送消息
$("#msg").keydown( function(event){
    console.log("asdsda")
    event=(event)?event:((window.event)?window.event:"");
    var keyCode=event.keyCode?event.keyCode:(event.which?event.which:event.charCode);
    var altKey = event.ctrlKey || event.metaKey;
    if(keyCode == 13 && altKey){
        messageSend();
    }
});


// 初始化文件选择器
function initFileChoser() {
    $('#chooseFile').fileupload({
        url: '/file/upload',
        //dataType: 'json'
    
        // 上传完成后的执行逻辑
        done: function (e, data) {
            $('#file-upload-div').html('自己的东西下个屁');
            $('#file-upload-name').html(data.result.filename);
            $('.usetodel').removeAttr('id');
            if (data.result.img) {
                imgSend(data.result.filekey)
            } else {
                fileSend(data.result.filekey,data.result.filename, data.result.filesize);
            }
        },
    
        // 上传过程中的回调函数
        progressall: function (e, data) {
            p = parseInt(data.loaded / data.total * 100, 10);
            if(p==100) $('#file-upload-name').html("文件处理中");
            $('#upload-progress').css(
                'width',
                p + '%'
            );
        },
    
        // 开始上传
        start: function (e, data) {
            // 把文件上传添加到自己的地方
            addFileShowMsg('正在上传中。。。','right','',selfname);
        }
    });
}

var fileBtn = document.getElementById('file-btn');
function fileChoose() {initFileChoser();$('#chooseFile').click()}

var picBtn = document.getElementById('pic-btn');

function download(filekey,filename)
{
    window.open('/file/download/'+filekey+'/'+filename);
}